home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ____GGGGBBBBMMMMVVVV((((3333FFFF)))) ____GGGGBBBBMMMMVVVV((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- dgbmv, sgbmv, zgbmv, cgbmv - BLAS Level Two Matrix-Vector Product
-
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ddddggggbbbbmmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,kkkkllll,,,,kkkkuuuu,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 ttttrrrraaaannnnssss
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, mmmm,,,, kkkkllll,,,, kkkkuuuu,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
- ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssggggbbbbmmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,kkkkllll,,,,kkkkuuuu,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 ttttrrrraaaannnnssss
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, mmmm,,,, kkkkllll,,,, kkkkuuuu,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
- rrrreeeeaaaallll aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- rrrreeeeaaaallll aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzggggbbbbmmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,kkkkllll,,,,kkkkuuuu,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 ttttrrrraaaannnnssss
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, mmmm,,,, kkkkllll,,,, kkkkuuuu,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ccccggggbbbbmmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,kkkkllll,,,,kkkkuuuu,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 ttttrrrraaaannnnssss
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, mmmm,,,, kkkkllll,,,, kkkkuuuu,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
- ccccoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
-
-
- CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- vvvvooooiiiidddd ddddggggbbbbmmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,kkkkllll,,,,kkkkuuuu,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, mmmm,,,, kkkkllll,,,, kkkkuuuu,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
- ddddoooouuuubbbblllleeee aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
- ddddoooouuuubbbblllleeee ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
-
- vvvvooooiiiidddd ssssggggbbbbmmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,kkkkllll,,,,kkkkuuuu,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, mmmm,,,, kkkkllll,,,, kkkkuuuu,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
- ffffllllooooaaaatttt aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
- ffffllllooooaaaatttt ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
-
- vvvvooooiiiidddd zzzzggggbbbbmmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,kkkkllll,,,,kkkkuuuu,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, mmmm,,,, kkkkllll,,,, kkkkuuuu,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
- ZZZZoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
- ZZZZoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
-
- vvvvooooiiiidddd ccccggggbbbbmmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,kkkkllll,,,,kkkkuuuu,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, mmmm,,,, kkkkllll,,,, kkkkuuuu,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- ____GGGGBBBBMMMMVVVV((((3333FFFF)))) ____GGGGBBBBMMMMVVVV((((3333FFFF))))
-
-
-
- CCCCoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
- CCCCoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- ddddggggbbbbmmmmvvvv, ssssggggbbbbmmmmvvvv, zzzzggggbbbbmmmmvvvv and ccccggggbbbbmmmmvvvv perform one of the matrix-vector
- operations:
-
- y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y, or
-
- y := alpha*conjg( A' )*x + beta*y,
-
- where alpha and beta are scalars, x and y are vectors and A is an m by n
- band matrix, with kl sub-diagonals and ku super-diagonals.
-
-
- PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
- ttttrrrraaaannnnssss On entry, ttttrrrraaaannnnssss specifies the operation to be performed as
- follows:
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- trans = 'N' or 'n' y := alpha*A*x + beta*y.
- trans = 'T' or 't' y := alpha*A'*x + beta*y.
- trans = 'C' or 'c' y := alpha*conjg( A' )*x + beta*y.
-
- CCCC
- trans = NoTranspose y := alpha*A*x + beta*y.
- trans = Transpose y := alpha*A'*x + beta*y.
- trans = ConjugateTranspose y := alpha*conjg( A' )*x + beta*y.
-
- Unchanged on exit.
-
- mmmm On entry, mmmm specifies the number of rows of rows of the matrix A.
- mmmm must be at least zero.
- Unchanged on exit.
-
- nnnn On entry, nnnn specifies the order of the matrix A. nnnn must be at
- least zero.
- Unchanged on exit.
-
- kkkkllll On entry, kkkkllll specifies the number of sub-diagonals of the matrix
- A. kkkkllll must satisfy 0000 ....lllleeee.... kkkkllll.
- Unchanged on exit.
-
- kkkkuuuu On entry, kkkkuuuu specifies the number of super-diagonals of the
- matrix A. kkkkuuuu must satisfy 0000 ....lllleeee.... kkkkuuuu....
- Unchanged on exit.
-
- aaaallllpppphhhhaaaa On entry, aaaallllpppphhhhaaaa specifies the scalar alpha.
- Unchanged on exit.
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- ____GGGGBBBBMMMMVVVV((((3333FFFF)))) ____GGGGBBBBMMMMVVVV((((3333FFFF))))
-
-
-
- aaaa An array containing the matrix A.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- Array of dimension ( lda, n ).
-
- CCCC
- A pointer to an array of size lda*n containing the matrix A.
- See note below about array storage convention for C.
-
- Before entry, the leading ( kl + ku + 1 ) by n part of the array
- aaaa must contain the matrix of coefficients, supplied column by
- column, with the leading diagonal of the matrix in row ( ku + 1 )
- of the array, the first super-diagonal starting at position 2 in
- row ku, the first sub-diagonal starting at position 1 in row ( ku
- + 2 ), and so on. Elements in the array aaaa that do not correspond
- to elements in the band matrix (such as the top left ku by ku
- triangle) are not referenced. The following program segment will
- transfer a band matrix from conventional full matrix storage to
- band storage:
-
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- DO 20 J = 1, N
- K = KU + 1 - J
- DO 10 I = MAX( 1, J - KU ), MIN( M, J + KL )
- A( K + I, J ) = matrix( I, J )
- 10 CONTINUE
- 20 CONTINUE
-
- CCCC
- for ( j=0; j<n; j++ )
- {
- k = ku - j;
- for (i = MAX(0, j-ku); i < MIN(m, j+kl); i++ )
- a(j*lda+k+i) = Matrix(j*ldm+i);
- }
-
- Unchanged on exit.
-
- llllddddaaaa On entry, llllddddaaaa specifies the first dimension of A as declared in
- the calling (sub) program. llllddddaaaa must be at least ( kl + ku + 1 ).
- Unchanged on exit.
-
- xxxx Array of size at least ( 1 + ( n - 1 )*abs( incx ) ) when trans =
- 'N' or 'n' or NoTranspose and at least ( 1 + ( m - 1 )*abs( incx
- ) ) otherwise. Before entry, the incremented array xxxx must
- contain the vector x.
- Unchanged on exit.
-
- iiiinnnnccccxxxx On entry, iiiinnnnccccxxxx specifies the increment for the elements of xxxx.
- iiiinnnnccccxxxx must not be zero.
- Unchanged on exit.
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- ____GGGGBBBBMMMMVVVV((((3333FFFF)))) ____GGGGBBBBMMMMVVVV((((3333FFFF))))
-
-
-
- bbbbeeeettttaaaa On entry, bbbbeeeettttaaaa specifies the scalar beta. When bbbbeeeettttaaaa is supplied
- as zero then yyyy need not be set on input.
- Unchanged on exit.
-
- yyyy Array of size at least ( 1 + ( m - 1 )*abs( incy ) ) when trans =
- 'N' or 'n' or NoTranspose and at least ( 1 + ( n - 1 )*abs( incy
- ) ) otherwise.
-
- Before entry with bbbbeeeettttaaaa non-zero, the incremented array yyyy must
- contain the vector y. On exit, yyyy is overwritten by the updated
- vector y.
-
- iiiinnnnccccyyyy On entry, iiiinnnnccccyyyy specifies the increment for the elements of yyyy.
- iiiinnnnccccyyyy must not be zero.
- Unchanged on exit.
-
-
- CCCC AAAARRRRRRRRAAAAYYYY SSSSTTTTOOOORRRRAAAAGGGGEEEE CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNN
- The matrices are assumed to be stored in a oooonnnneeee ddddiiiimmmmeeeennnnssssiiiioooonnnnaaaallll CCCC aaaarrrrrrrraaaayyyy
- in an analogous fashion as a Fortran array (column major). Therefore,
- the element A(i+1,j) of matrix A is stored immediately after the
- element A(i,j), while A(i,j+1) is lda elements apart from A(i,j).
- The element A(i,j) of the matrix can be accessed directly by reference
- to a[ (j-1)*lda + (i-1) ].
-
-
- AAAAUUUUTTTTHHHHOOOORRRRSSSS
- Jack Dongarra, Argonne National Laboratory.
- Iain Duff, AERE Harwell.
- Jeremy Du Croz, Numerical Algorithms Group Ltd.
- Sven Hammarling, Numerical Algorithms Group Ltd.
-
-
- TTTTUUUUNNNNIIIINNNNGGGG
- Optimized and parallelized for SGI R3000, R4x00 and R8000 platforms.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-